package com.example;

import com.adee.util.Util;

import java.util.Arrays;

public class LC_300 {
    public static void main(String[] args) {
        int[] nums = new int[]{4,10,4,3,8,9};
        Util.print(nums);
        lengthOfLIS(nums);
    }

    public static int lengthOfLIS(int[] nums) {
        int len = nums.length;
        int[] bp = new int[len];
        // bp[i]表示以nums[i]结尾的最长递增子序列长度
        Arrays.fill(bp, 1);
        for(int i = 1; i < len; i++) {
            for(int j = 0; j < i; j++){
                if(nums[j] < nums[i]) { // 选
                    bp[i] = Math.max(bp[i], bp[j] + 1);
                }
            }
        }
        int max = 1;
        for(int i = 0; i < len; i++) {
            max = Math.max(max, bp[i]);
        }
        return max;
    }
}
